home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Chans / fax / ps250 / tools / faxid.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  2.5 KB  |  163 lines

  1. /* faxid.c: get id from Panasonic */
  2.  
  3. # ifndef lint
  4. static char Rcsid[] = "@(#)$Header: /xtel/pp/pp-beta/Chans/fax/ps250/tools/RCS/faxid.c,v 6.0 1991/12/18 20:08:25 jpo Rel $";
  5. # endif
  6.  
  7. /*
  8.  * $Header: /xtel/pp/pp-beta/Chans/fax/ps250/tools/RCS/faxid.c,v 6.0 1991/12/18 20:08:25 jpo Rel $
  9.  *
  10.  * $Log: faxid.c,v $
  11.  * Revision 6.0  1991/12/18  20:08:25  jpo
  12.  * Release 6.0
  13.  *
  14.  */
  15.  
  16. #include "util.h"
  17. #include "chan.h"
  18. #include <stdio.h>
  19. #include "../../faxgeneric.h"
  20. #include "../ps250.h"
  21. #include <varargs.h>
  22.  
  23. void    adios (), advise ();
  24.  
  25. char    *myname;
  26.  
  27. extern FaxCtlr    *init_faxctrlr();
  28. extern int    fax_debug;
  29. CHAN    *mychan = NULLCHAN;
  30. int    table_verified = FALSE;
  31.  
  32. main (argc, argv)
  33. int    argc;
  34. char    **argv;
  35. {
  36.     extern char    *optarg;
  37.     extern int    optind;
  38.     int    opt;
  39.     FaxCtlr    *faxctl = init_faxctrlr();
  40.     PsModem    *psm = PSM(faxctl);
  41.  
  42.     myname = argv[0];
  43.     while((opt = getopt(argc, argv, "sdf:")) != EOF)
  44.         switch (opt) {
  45.             case 'd':
  46.             fax_debug = 1;
  47.             break;
  48.             case 'f':
  49.             sprintf(psm->devName, "%s", optarg);
  50.             break;
  51.             case 's':
  52.             psm->softcar = TRUE;
  53.             break;
  54.             default:
  55.             adios (NULLCP, "Usage: %s [-s] [-d] [-f device]", myname);
  56.             break;
  57.         }
  58.     argc -= optind;
  59.     argv += optind;
  60.  
  61.     test1(faxctl);
  62.     exit (0);
  63. }
  64.  
  65. test1(faxctrl)
  66. FaxCtlr    *faxctrl;
  67. {
  68.     PsModem    *psm = PSM(faxctrl);
  69.     Faxcomm pack;
  70.     Stat2    s2;
  71.     int    fd;
  72.  
  73.     if (faxctrl->open != NULLIFP
  74.         && (*faxctrl->open) (faxctrl) != OK) {
  75.         fprintf(stderr,
  76.             "fax open failed [%s]\n",
  77.             faxctrl->errBuf);
  78.         exit(1);
  79.     }
  80.  
  81.     if (fax_sendenq2 (psm->fd) == NOTOK)
  82.         adios ("send enq2", "failed");
  83.  
  84.     if (fax_getstat2 (psm->fd, &s2) == NOTOK)
  85.         adios ("read packet", "failed");
  86.  
  87.     if (faxctrl->close !=  NULLIFP)
  88.         (*faxctrl->close) (faxctrl);
  89.  
  90.     printf ("Fax clock: %s\n", s2.clock);
  91.     printf ("Fax local ID: %s\n", s2.local);
  92. }
  93.         
  94.  
  95. #ifndef    lint
  96. void    _advise ();
  97.  
  98.  
  99. void    adios (va_alist)
  100. va_dcl
  101. {
  102.     va_list ap;
  103.  
  104.     va_start (ap);
  105.  
  106.     _advise (ap);
  107.  
  108.     va_end (ap);
  109.  
  110.     _exit (1);
  111. }
  112. #else
  113. /* VARARGS */
  114.  
  115. void    adios (what, fmt)
  116. char   *what,
  117.        *fmt;
  118. {
  119.     adios (what, fmt);
  120. }
  121. #endif
  122.  
  123.  
  124. #ifndef    lint
  125. void    advise (va_alist)
  126. va_dcl
  127. {
  128.     va_list ap;
  129.  
  130.     va_start (ap);
  131.  
  132.     _advise (ap);
  133.  
  134.     va_end (ap);
  135. }
  136.  
  137.  
  138. static void  _advise (ap)
  139. va_list    ap;
  140. {
  141.     char    buffer[BUFSIZ];
  142.  
  143.     asprintf (buffer, ap);
  144.  
  145.     (void) fflush (stdout);
  146.  
  147.     fprintf (stderr, "%s: ", myname);
  148.     (void) fputs (buffer, stderr);
  149.     (void) fputc ('\n', stderr);
  150.  
  151.     (void) fflush (stderr);
  152. }
  153. #else
  154. /* VARARGS */
  155.  
  156. void    advise (what, fmt)
  157. char   *what,
  158.        *fmt;
  159. {
  160.     advise (what, fmt);
  161. }
  162. #endif
  163.